package zuoye.考试1;

import java.util.Scanner;
//2. 有一个数组{12,23,34,45,56,67,78,89}，要求用户输入一个数字，判断该数字是否在数组中。如果
//在，删除掉它，但不能更改原有顺序。注意：删除它，那么数组长度要-1；
public class Demo2 {
    public static void main(String[] args) {
        int[] nums={12,23,34,45,56,67,78,89};
        Scanner input = new Scanner(System.in);//打开控制台
        System.out.println("请输入一个整数");//提示
        int inputNum = input.nextInt();
        input.close();

        int arrayIndex = -1; //创建一个下标  -1是随意取值 因为负数不可能出现在数组里

        for (int i = 0;i<nums.length;i++){
            if (inputNum==nums[i]){//如果输入的数字等于数组里的某个数
                arrayIndex=i;      //那么 下标就会等于那个数字的位置  （i）
                break;              //循环没有必要继续 结束循环
            }
        }

        if (arrayIndex !=-1){ //如果下标不为-1  则需要把输入的数据从数组删掉
            int[]newAry = new int [nums.length-1];  //创建一个新的数组 newAry 并且长度比nums少1
            for (int i =0;i<nums.length;i++){ //for循环
                if (i<arrayIndex){          //nums数组里的数的位置 小于下标数的位置时
                    newAry[i]=nums[i];      //把小于下标的这几个位置的数字赋值给新的数组
                }else if (i == arrayIndex){//当下标位置数等于数组位置数的时候
                    continue;           //不操作
                }else{
                    newAry[i-1]= nums[i];//把剩余位置上的数 赋值给新数组
                }
            }
            nums=newAry; //把删除过后的数组赋值给以前的数组
        }
        for (int i = 0;i<nums.length;i++){//输出数组里的每一个数
            System.out.print(nums[i]+" ");
        }
    }
}
